package com.domus.dreamMenu.comunicacao;



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

import com.domus.dreamMenu.resource.AcoesDeAcordoComNotificacao;
import com.domus.dreamMenu.resource.Resources;

public class EscutaNotificacoes implements Runnable {
	private Socket conexaoAbertaPeloServidor;
	private ServerSocket escutadorDeNotificacoes;
	String stringQueGuardaDadosRecebidos;
	 BufferedReader entradaDeDados = null;
	
	
	
	
	
	
	 public void iniciarEscuta(){
		 try{
			 escutadorDeNotificacoes = new ServerSocket(Resources.portaNoClienteQueRecebeNotificacao);
			 
		 }
		 catch (IOException e) {
		     System.out.println("Nao foi possivel escutar a porta "+Resources.portaNoClienteQueRecebeNotificacao);
		     System.exit(-1);
		 }
		 			 
		 
	 }
	
	public void run(){
		
		iniciarEscuta();
		while(true){
			try{
				conexaoAbertaPeloServidor = escutadorDeNotificacoes.accept();
				entradaDeDados = new BufferedReader(new InputStreamReader(conexaoAbertaPeloServidor.getInputStream()));
				stringQueGuardaDadosRecebidos = entradaDeDados.readLine();
				
				AcoesDeAcordoComNotificacao.dispararEvento();
			}
			catch (IOException e) {
		        System.out.println("Nao foi possivel ler os dados recebidos");
		        System.exit(-1);
		    }
		}
		
	}

}
